// 位移 + 拼接
// 每次获取原位的最低位，拼接到结果字符串结尾里
var reverseBits = function (n) {
  let res = 0;
  for (let i = 0; i < 32; i++) {
    res = (res << 1) + (n & 1);
    n >> 1;
  }
  return res >>> 0
}



// >>> 0 本质上就是保证 x 有意义（为数字类型），且为正整数，在有效的数组范围内（0 ~ 0xFFFFFFF）
// 且在无意义的情况下缺省值为 0